package com.ruicar.afs.cloud.product.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruicar.afs.cloud.product.condition.ProductUpdatePlanCondition;
import com.ruicar.afs.cloud.product.entity.ProductUpdatePlan;
import com.ruicar.afs.cloud.product.vo.ProductPlanVo;
import com.ruicar.afs.cloud.product.vo.ProductPrototypeVo;
import com.ruicar.afs.cloud.product.vo.ProductUpdatePlanVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author xudongdong
 * @version 1.0
 * @date 2020-05-22
 */
public interface ProductUpdatePlanMapper extends BaseMapper<ProductUpdatePlan> {

    IPage<List<ProductPrototypeVo>> getProductPlanList(Page page, @Param("query") ProductUpdatePlanCondition productCondition);

    IPage<List<ProductPrototypeVo>> getPlanData(Page page, @Param("query") ProductUpdatePlanCondition productCondition);

    List<ProductPlanVo> getVueJs(@Param("query") ProductUpdatePlanCondition productCondition);

    List<ProductPlanVo> getOldPlanList(@Param("id") Long id);

    List<ProductPlanVo> getOldPlanData(@Param("id") Long id);

    List<ProductPlanVo> getVueApproveInfo(@Param("id") Long id, @Param("productTemplateId") Long productTemplateId);

    List<ProductPlanVo> getNewPlanList(@Param("productPlanApproveId") Long id);

    List<ProductPlanVo> getNewPlanData(@Param("productPlanApproveId") Long id);

    IPage<List<ProductUpdatePlanVo>> queryProductUpdatePlanList(Page page, @Param("id")Long id);
}
